import {dimGet, get,getLikes} from '../../utils/db'
const app=getApp();
Page({
  data: {
    list:[],
    id:'',//分类列表id
    name:'',//搜索名称
    typeName:'',//菜谱分类名称
    openid:'',
  },
  onLoad(e){
    console.log(e);
    if(e.id){
      this.setData({
        typeName:e.name,
        id:e.id
      })
      if(e.openid){
        this.getMyCateList(e.id,e.openid)
      }else{
        this.getCateList(e.id)
      }
    }else if(e.openid){
      this.data.openid=e.openid
      this.getMyLikes(e.openid)
      // 设置当前页面的标题
      wx.setNavigationBarTitle({
        title: e.name
      })
    }else{
      this.data.name=e.name
      this.getSearchList(e.name)
    } 
  },
  onShow(){
    if(this.data.id){
      this.getCateList(this.data.id);
    }
    if(this.data.name){
      this.getSearchList(this.data.name)
    }
    if(this.data.openid){
      this.getMyLikes(this.data.openid)
    }
  },
  // 获取搜索列表
  async getSearchList(name){
    let res=await dimGet("menu",name).catch(err=>{
      console.log(err);
      return;
    })
    this.setData({
      list:res.data
    })
    // 设置当前页面的标题
    wx.setNavigationBarTitle({
      title: "搜索列表"
    })
  },
  // 获取分类列表
  async getCateList(id){
    let res=await get("menu",{typeid:id}).catch(err=>{
      console.log(err);
      return;
    })
    this.setData({
      list:res.data
    })
    // 设置当前页面的标题
    wx.setNavigationBarTitle({
      title: this.data.typeName
    })
  },
  // 获取我的分类列表
  async getMyCateList(id,openid){
    let res=await get("menu",{_openid:openid,typeid:id}).catch(err=>{
      console.log(err);
      return;
    })
    this.setData({
      list:res.data
    })
    // 设置当前页面的标题
    wx.setNavigationBarTitle({
      title: this.data.typeName
    })
  },
  // 跳转详情页面
  toDetail(e){
    wx.navigateTo({
      url: '/pages/detail/detail?id='+e.currentTarget.id,
    })
  },
  // 我的关注
  async getMyLikes(openid){
      if(app.globalData.isLogin){
        console.log(app.globalData.isLogin);
      let res=await get("likes",{_openid:openid}).catch(err=>console.error(err));
      let menuids= res.data.map(item=>{
        return item.menuid
      })
      let res1=await getLikes("menu",menuids).catch(err=>console.error(err));
      this.setData({
        list:res1.data
      })
    }
  }
})